1. Field of the Invention
The present invention relates to a motion picture decompression system, and more particularly to a method for concealing errors which occur on a transmission channel in digital TV or in a digital video conference system.
2. Background of the Related Art
With the rapid development of digital signal processing technology, greater amounts of motion video signals can be compressed and transmitted through transmission channels of limited bandwidth. Thus, if an error occurs on the transmission channel during transmission of a motion video signal, the quality of recovered video would significantly be degraded. When an error occurs in coded video data, the error effects may be displayed in one of a variety of ways depending upon the coding methods utilized.
Particularly, under the standards of the Motion Picture Experts Group (MPEG), H.261, or H.263, a motion video is divided into 16xc3x9716 blocks, wherein each block is called a macro block. A plurality of macro blocks make a slice and depending upon the image size, a plurality of slices makes one frame.
A motion picture is coded utilizing variable length coding (VLC) and motion compensation coding. In such a system, if an error occurs in even one bit of a bitstream, continuous macro blocks corresponding to the bitstream on which the error is generated are damaged and thus, a large range of video information is lost. The effects of the damaged and lost video data continues to the next several frames. As a result, decoding the bit streams which were transmitted utilizing the coding procedure described above may result in a severely deteriorated quality of video data.
Accordingly, various recovering methods have been developed in the related art by which lost information is compensated using the normally recovered information surrounding the lost or damaged data, thereby restoring the lost video data nearly to the original video. Generally, conventional error concealment methods can be classified into a spatial predictive concealment method and a temporal predictive concealment method.
In particular, the spatial predictive error recovering method utilizes spatial correlation in the frame. Thus, a damaged macro block is copied or interpolated from the neighboring ones. In the spatial predictive methods, the POCS(projections onto convex set) method is mainly used. The quality of the restored picture can be improved if the damaged macro block is substantially smaller than an image size. However, this method requires a great amount of calculation at a receiver and a poor spatial correlation between the damaged macro block and the surrounding macro block may result in a low quality restored picture.
The temporal predictive error recovering method utilizes temporal correlation information between two successive frames. Thus, a damaged video macro block is compensated using a motion vector of neighboring macro blocks, allowing a less complicated and quick compensation. However, the reliability of the compensation is low, especially when compensating information in regions where there is fast or irregular movement between two successive frames.
Other error recovering methods include inserting additional information such as an error correcting code to the user data to conceal an error. Although an error correcting code can be used, the amount of data can be substantially increased due to the insertion of additional information.
To overcome these problems, a boundary matching algorithm was proposed to recover the motion vector of a lost block. In this method, a spatial correlation between pixels is utilized in selecting the macro block most identical to the damaged macro block in a previous frame. Then the damaged macro block is replaced with the selected block. FIG. 1 illustrates a current frame and a previous frame to explain the boundary matching algorithm.
Referring to FIG. 1, boundary pixels of macro blocks C1xcx9cC3 surrounding the damaged macro block E1 in the current frame is utilized to select a macro block Exe2x80x21 in a previous frame PF most similar to the damaged macro block E1. Namely, a search is made for a motion vector of a macro block which provides the least mean square error of pixel luminances in the corresponding hatched areas of the current and previous frames shown in FIG. 1(a). Among all motion vectors, a motion vector (Vx, Vy) having the least mean square error is selected as the optimal motion vector utilized to replace the damaged macro block E1 with the macro block Exe2x80x21. This method works well when there are no large changes in pixel values across the boundary. However, the error concealment method using a boundary matching algorithm the following problems.
First, because positions of the compared signals in the previous frame are different from those of the boundary signals of the lost block, if there exists abrupt changes between a damaged macro block and an adjacent macro block, for example, around edges or corners, the recovered macro block does not fit well.
Second, a wide range must be searched in positions in the previous block corresponding to the position of the damaged macro block, requiring a relatively great amount of computational load and time. Moreover, for blocks containing greater motion, an even wider range must be searched as probability of finding a similar replacement block decreases. Therefore, an exact compensation becomes difficult.
Third, the block boundary matching method utilizes only one line of pixel values in the boundary of blocks adjacent the damaged macro block. Accordingly, representing each macro block by a single line of pixel values would result in poor accuracy. The performance would be seriously degraded for interlaced sequences, since the spatial correlation is low between fields having different parities. Finally, the block boundary matching method is mainly effective for compensating errors in a P frame. Thus, errors in B frames cannot be compensated or must be compensated with a compensation method for P frames.
Accordingly, an object of the present invention is to solve at least the problems and disadvantages of the related art.
An object of the present invention provide an error recovery method for a motion picture decompression device.
Another object of the present invention is to provide a method for concealing errors in a motion picture decompression device. In particular, an object of the present invention is to compensate or improve the quality of a picture with a relatively simple algorithm and a small amount of calculation at a video receiver.
Additional advantages, objects, and features of the invention will be set forth in part in the description which follows and in part will become apparent to those having ordinary skill in the art upon examination of the following or may be learned from practice of the invention. The objects and advantages of the invention may be realized and attained as particularly pointed out in the appended claims.
To achieve the objects and in accordance with the purposes of the invention, as embodied and broadly described herein, the method for error concealment to restore a damaged macro block includes (1) predicting an optimal motion vector (V*x, V*y) among all possible motion vectors Vx and Vy within a search range of a previous frame by application of a weighted value function, and (2) replacing the damaged macro block with a macro block in a previous frame using the predicted motion vector.
In the present invention, unlike the conventional boundary matching methods, the boundary pixels of a lost macro block are directly compared with the boundary pixels of the matched macro block in the previous frame, and the weighted functions are adaptively adjusted by calculating spatial correlations across the boundaries. Also, the search range is determined by setting an initial value of a motion vector to be predicted according to a frame mode and position of the damaged macro block. Because different types of motion vectors are available and utilized in images depending upon the picture coding type, the optimal motion vector is obtained by a method most suited to the coding mode.